Facilitation of concurrent consumption of media content by multiple users using superimposed animation

ABSTRACT

Example apparatus, computer-implemented methods, systems, devices, and computer-readable media facilitate concurrent consumption of media content by multiple users using superimposed animation. Example instructions, when executed, cause at least one processor of an electronic user device to at least cause a display to present media and a visual representation of a remote individual, the visual representation including at least a portion of a human profile; identify a direction of a gaze of a user of the electronic user device based on signals output by one or more sensors of the electronic user device; and determine whether the gaze of the user is directed toward the display of the media or the display of the visual representation based on the direction of the gaze.

RELATED APPLICATIONS

This patent arises from a continuation of U.S. patent application Ser.No. 16/101,181 (now U.S. Pat. No. 10,956,113), filed on Aug. 10, 2018.U.S. patent application Ser. No. 16/101,181 is a continuation of U.S.patent application Ser. No. 15/276,528 (now U.S. Pat. No. 10,048,924),filed on Sep. 26, 2016. U.S. patent application Ser. No. 15/276,528 is acontinuation of U.S. patent application Ser. No. 13/532,612 (now U.S.Pat. No. 9,456,244), filed on Jun. 25, 2012. U.S. patent applicationSer. No. 16/101,181, U.S. patent application Ser. No. 15/276,528, andU.S. patent application Ser. No. 13/532,612 are hereby incorporated byreference in their entireties. Priority to U.S. patent application Ser.No. 16/101,181, U.S. patent application Ser. No. 15/276,528, and U.S.patent application Ser. No. 13/532,612 is hereby claimed.

FIELD

Embodiments of the present invention relate generally to the technicalfield of data processing, and more particularly, to facilitation ofconcurrent consumption of media content by multiple users usingsuperimposed animation.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure. Unless otherwise indicated herein, the approaches describedin this section are not prior art to the claims in the presentdisclosure and are not admitted to be prior art by inclusion in thissection.

People may wish to consume media content together. For instance, a groupof friends may gather together to watch a movie, television show,sporting event, home video or other similar media content. The friendsmay engage with one another during the presentation to enhance the mediaconsumption experience. Two or more people who are physically separatefrom each other and who are unable to gather in a single location maynevertheless wish to share a media content consumption experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will be readily understood by the following detaileddescription in conjunction with the accompanying drawings. To facilitatethis description, like reference numerals designate like structuralelements. Embodiments are illustrated by way of example and not by wayof limitation in the figures of the accompanying drawings.

FIG. 1 schematically illustrates an example computing device configuredwith applicable portions of the teachings of the present disclosure, incommunication with other similarly-configured remote computing devices,in accordance with various embodiments.

FIG. 2 schematically depicts the scenario of FIG. 1 , where a user ofthe computing device has indicated interest in a particular superimposedanimation of a remote user, in accordance with various embodiments.

FIG. 3 schematically depicts the scenario of FIG. 1 , where a user ofthe computing device has indicated interest in a media content oversuperimposed animations of remote users, in accordance with variousembodiments.

FIG. 4 schematically depicts an example method that may be implementedby a computing device, in accordance with various embodiments.

FIG. 5 schematically depicts another example method that may beimplemented by a computing device, in accordance with variousembodiments.

FIG. 6 schematically depicts an example computing device on whichdisclosed methods and computer-readable media may be implemented, inaccordance with various embodiments.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown by way ofillustration embodiments that may be practiced. It is to be understoodthat other embodiments may be utilized and structural or logical changesmay be made without departing from the scope of the present disclosure.Therefore, the following detailed description is not to be taken in alimiting sense, and the scope of embodiments is defined by the appendedclaims and their equivalents.

Various operations may be described as multiple discrete actions oroperations in turn, in a manner that is most helpful in understandingthe claimed subject matter. However, the order of description should notbe construed as to imply that these operations are necessarily orderdependent. In particular, these operations may not be performed in theorder of presentation. Operations described may be performed in adifferent order than the described embodiment. Various additionaloperations may be performed and/or described operations may be omittedin additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C).

The description may use the phrases “in an embodiment,” or “inembodiments,” which may each refer to one or more of the same ordifferent embodiments. Furthermore, the terms “comprising,” “including,”“having,” and the like, as used with respect to embodiments of thepresent disclosure, are synonymous.

As used herein, the term “module” may refer to, be part of, or includean Application Specific Integrated Circuit (“ASIC”), an electroniccircuit, a processor (shared, dedicated, or group) and/or memory(shared, dedicated, or group) that execute one or more software orfirmware programs, a combinational logic circuit, and/or other suitablecomponents that provide the described functionality.

FIG. 1 schematically depicts an example computing device 100 configuredwith applicable portions of the teachings of the present disclosure, inaccordance with various embodiments. Computing device 100 is depicted asa tablet computing device, but that is not meant to be limiting.Computing device 100 may be various other types of computing devices (orcombinations thereof), including but not limited to a laptop, a netbook,a notebook, an ultrabook, a smart phone, a personal digital assistant(“PDA”), an ultra mobile PC, a mobile phone, a desktop computer, aserver, a printer, a scanner, a monitor, a set-top box, an entertainmentcontrol unit (e.g., a gaming console), a digital camera, a portablemusic player, a digital video recorder, a television (e.g., plasma,liquid crystal display or “LCD,” cathode ray tube or “CRT,” projectionscreen), and so forth.

Computing device 100 may include a display 102. Display 102 may bevarious types of displays, including but not limited to plasma, LCD,CRT, and so forth. In some embodiments (not shown), display may includea projection surface onto which a projector may project graphics withsuperimposed animations as described herein. In various embodiments,display 102 may be a touch screen display that may be usable to provideinput to and operate computing device 100. In various embodiments,computing device 100 may include additional input controls (not shown)to facilitate input in addition to or instead of via a touch screendisplay.

In various embodiments, computing device 100 may include a camera 104configured to capture visual data, e.g., one or more frames and/ordigital images. As will be described below, the captured visual data maybe transmitted to remote computing devices and used to facilitatesuperimposition of animation over other content by the remote computingdevices.

Although camera 104 is shown as an integral part of computing device 100in FIGS. 1-3 , this is not meant to be limiting. In various embodiments,camera 104 may be separate from computing device 100. For example,camera 104 may be an external camera (e.g., a web camera) connected tocomputing device 100 using one or more wires or wirelessly.

In various embodiments, computing device 100 may include an eye trackingdevice 106. In various embodiments, such as the computing tablet shownin FIG. 1 , camera 104 also operates as eye tracking device 106.However, this is not required In various embodiments, eye trackingdevice 106 may be separate from camera 104, and may be a different typeof device and/or a different type of camera. For example, in embodimentswhere computing device 100 is a television or a gaming console attachedto a television, eye tracking device 106 may be a camera or other device(e.g., a motion capture device) operably coupled to the television orgaming console. Such an example is shown in FIG. 3 and will be describedbelow.

In various embodiments, visual data captured by camera 104 and/or eyetracking device 106 may be analyzed using software, hardware or anycombination of the two to determine and/or approximate what portion ofdisplay 102, if any, at which a user is looking. This determination mayinclude various operations, including but not limited to determining adistance between a user's face and/or eyes and display 102, identifyingone or more features of the user's eyes such as pupils in the visualdata, measuring a distance between the identified features, and soforth. As will be discussed below, a determination of which portion ofdisplay 102 a user is looking at (and therefore has indicated interest),as well as which portion of display 102 a user is not looking at (andtherefore has indicated disinterest), may be used in various ways.

Computing device 100 may be in communication with various remotecomputing devices via one or more networks. In FIGS. 1 and 2 , forinstance, computing device 100 is in wireless communication with a firstradio network access node 108, which itself is in communication with anetwork 110. In various embodiments, first radio access node 108 may bean evolved Node B, a WiMAX (IEEE 802.16 family) access point, a Wi-Fi(IEEE 802.11 family) access point, or any other node to which computingdevice 100 may connect wirelessly. Network 110 may include one or morepersonal, local or wide area, private and/or public networks, includingbut not limited to the Internet. Although computing device 100 is shownwirelessly connected to network 110, this is not meant to be limiting,and computing device 100 may connect to one or more networks in anyother manner, including via so-call “wired” connections.

Computing device 100 may be in network communication with any number ofremote computing devices. In FIGS. 1 and 2 , for instance, computingdevice 100 is in network communication with a first remote computingdevice 112 and a second remote computing device 114. As was the casewith computing device 100, first and second remote computing devices112, 114 may be any type of computing device, such as those mentionedpreviously. For instance, in FIG. 1 , first remote computing device 112is a smart phone and second remote computing device 114 is a laptopcomputer.

First remote computing device 112 is shown wirelessly connected toanother radio network access node 116. Second remote computing device114 is shown connected to network 110 via a wired connection. However,the type of network connection used by remote computing devices is notmaterial. Any computing device may communicate with any other computingdevice in manners described herein using any type of network connection.

In various embodiments, computing device 100 may be configured tofacilitate concurrent consumption of a media content 122 by a user (notshown) of computing device 100 with one or more users of one or moreremote computing devices, such as a first remote user 118 of firstremote computing device 112 and/or a second remote user 120 of secondremote computing device 114. In various embodiments, computing device100 may be configured to superimpose one or more animations of remoteusers over media content 122 presented on computing device 100.

In various embodiments, the one or more superimposed animations may berendered by computing device 100 based on visual data received from theremote computing devices. In various embodiments, the visual datareceived from the remote computing devices may be based on visual dataof the remote users (e.g., 118, 120) captured at the remote computingdevices.

As used herein, the term “animation” may refer to any moving visualrepresentation created from captured visual data. This may include butis not limited to a video (e.g., bitmap) reproduction of captured visualdata, artistic interpretations of visual data (e.g., a cartoon renderedbased on captured visual data of a user), and so forth. Put another way,“animation” is used herein as the noun form of the verb “animate,” whichmeans “bring to life.” Thus, an “animation” refers to a depiction orrendering that is “animate” (alive or having life) as opposed to“inanimate.” “Animation” is not limited to a drawing created by ananimator.

In various embodiments, the media content 122 may include but is notlimited to audio and/or visual content such as videos (e.g., streaming),video games, web pages, slide shows, presentations, and so forth.

By superimposing animations of remote users over the media content, twoor more users who are remote from each other may be able to consume themedia content “together.” Each user may see an animation of the otheruser superimposed over the media content. Thus, for instance, two ormore friends that are remote from each other may share the experience ofwatching a movie, television show, sporting event, and so forth.

In FIG. 1 , a first animation 124 and a second animation 126,representing first remote user 118 and second remote user 120,respectively, are superimposed over media content 122 on display 102 ofcomputing device 100. First animation 124 may be based on capturedvisual data of first remote user 118 received by computing device 100from first remote computing device 112, e.g., from a camera (not shown)on first remote computing device 112. For example, first animation 124may be a video stream that depicts first remote user 118. Secondanimation 126 similarly may be based on captured visual data of secondremote user 120 received at computing device 100 from second remotecomputing device 114.

In various embodiments, visual data upon which animations are renderedmay be transmitted between computing devices in various forms. Invarious embodiments, one computer may transmit captured visual data toanother computer in bitmap form (e.g., a video stream of *.png or othervisual files with an alpha mask). In other embodiments, the capturedvisual data may be transmitted using streaming video with incorporatedalpha. In yet other embodiments, the captured visual data may betransmitting using a stream of bitmap (e.g., RGB) frames and depthframes, from which either two-dimensional (“2D”) or three-dimensional(“3D”) animation may be rendered.

In FIGS. 1-3 , the animations are rendered near the bottom of display102, so that a user of computing device 100 may still be able to viewmedia content 122. However, this is not meant to be limiting. Animationssuch as first animation 124 and second animation 126 may be rendered onany portion of display 102. In some embodiments, animations may bedisplayed on multiple displays. For example, if a desktop computer userhas multiple monitors, one or more of the animations may be displayed onone monitor or the other. In various embodiments, these animations maybe superimposed over content 122 on one or both monitors.

In various embodiments, a particular animation may be visuallyemphasized on determination by computing device 100 of the user'sinterest in that animation. As used herein, to “visually emphasize” ananimation may refer to rendering the animation differently than othersuperimposed animations or media content, so as to draw attention to orotherwise differentiate one animation over one or more other animations.

In FIG. 1 , for instance, first and second animations 124, 126 aredepicted in white with black outline to represent that both animationsbeing visually emphasized equally, so that the user's attention is notdrawn to one more than the other. For example, both animations maydepict the first and second users in real time and may be rendered inmore or less an equally conspicuous manner. Put another way, neitheranimation is “visually deemphasized.”

To be “visually deemphasized” may refer to rendering an animation of aremote user in a manner that does not draw attention to it, or thatdifferentiates it from other animations or media content in a mannerthat directs attention away from it, e.g., to another animation that isbeing visually emphasized or to underlying media content. An example ofvisual de-emphasis is shown in FIG. 2 . First animation 124 is shown inall black to represent that it is being visually deemphasized. Secondanimation 126 is shown in white with black outline to indicate that itis being visually emphasized.

In various embodiments, an animation of a remote user may be visuallydeemphasized in various ways. For example, rather than rendering afull-color or fully featured animation of the user, a silhouette of theremote user, e.g., in a single color (e.g., gray, black, or any othercolor or shade) may be rendered. In various embodiments, the remote usermay be rendered in shadow. In some embodiments, a visually-deemphasizedanimation may not be animated at all, or may be animated at a slowerframe rate than a visually emphasized animation.

In FIG. 3 , both first animation 124 and second animation 126 arevisually deemphasized. This may occur when a user of computing device100 has not indicated interest in either user. For example, the user mayhave indicated interest in viewing media content 122, rather thananimations of the remote users. When the user indicates interest in oneor other of the animations, then the animation in which the user showsinterest may be visually emphasized by computing device 100.

A user may indicate interest or disinterest in a particular animation orother portion of display 102 in various ways. For instance, camera 104and/or eye tracking device 106 may be configured to collect datapertinent to the user's eye movements. Based on this data, computingdevice 100 may calculate which portion of display 102, if any, the useris looking at.

For example, in FIG. 2 , computing device 100 may have determined, basedon input from eye tracking device 106, that the user is focusing on (orlooking at) second animation 126. Accordingly, computing device 100 mayvisually emphasize second animation 126 and visually deemphasize firstanimation 124.

As another example, in FIG. 3 , computing device may have determined,based on input from eye tracking device 106, that the user is focusingon media content 122, and/or not focusing on either first animation 124or second animation 126. Accordingly, computing device 100 may visuallydeemphasize both first animation 124 and second animation 126,facilitating less distracted viewing of media content 122.

Although not shown in FIGS. 1-3 , first remote computing device 112 andsecond remote computing device 114 may concurrently display mediacontent 122 and superimpositions of animations of other remote users,similar to computing device 100. For example, first remote computingdevice 112 may superimpose an animation of a user (not shown) ofcomputing device 100 and second remote user 120 over media content 122.Likewise, second remote computing device 114 may superimpose ananimation of the user (not shown) of computing device 100 and firstremote user 118 over media content 122. Moreover, while three computingdevices are shown, it should be understood that any number of computingdevices configured with applicable portions of the present disclosuremay participate in a concurrent media content viewing sessions.

While the animations shown in the Figures depict entire bodies of theremote users, this is not meant to be limiting. In various embodiments,less than a remote user's entire body may be rendered. For instance, insome embodiments, a portion of a remote user, such as the torso up(e.g., a “bust” of the remote user), may be depicted In some cases, theanimation may be rendered adjacent the bottom of the display so that theanimation of the remote user appears to have “popped up: from the bottomof the display. Other portions of remote users may also be animated,such as just a head, from the chest up, from the knees or thighs up, onehalf or another of the remote user, and so forth.

In some embodiments, computing device 100 may be configured to cropcaptured visual data of remote users and/or resulting animations. Forexample, captured visual data of a remote user may include the remoteuser's entire body and a background. In various embodiments, computingdevice 100 may be configured to automatically crop away unwantedportions, such as the remote user's legs and/or empty space in thebackground.

In various embodiments, computing device 100 may be configured todynamically and/or automatically crop captured visual data of its ownlocal user or remote users based on various criteria. For instance,computing device 100 may dynamically crop at least some of the visualdata of a local user of computing device 100 or visual data of a remoteuser based on a determination that a region of the visual data in whichthe local or remote user is represented occupies less than apredetermined portion of the entirety of the visual data. If the localor remote user moves around, e.g., closer to his or her camera, thelocal or remote user may become bigger within the field of view. In suchcase, computing device 100 may dynamically reduce cropping as needed.Thus, computing device 100 may ensure that, in visual data it providesto remote computing device, as well as in visual data it receives fromremote computing devices, the animation of the user (local or remote) isof an appropriate size and proportion.

In various embodiments, computing device 100 may render, in addition toanimations of remote users, an animation of the local user of computingdevice 100. This may permit the user to see what remote users would see.This may also enhance a sense of community by placing an animation ofthe local user in a “common area” with animations of remote users. Thismay also facilitate decision making by the user as to his or herprivacy, as will be discussed further below.

In various embodiments, a concurrent media content sharing session maybe implemented using peer-to-peer and/or client-server softwareinstalled on each computing device. In various embodiments, a concurrentmedia content sharing session may persist even if one or more userssigns out of the session. For instance, in FIG. 1 , if first remote user118 were to sign off, first animation 124 on computing device 100 maydisappear, but second animation 126 may persist so long as computingdevice 100 and second remote computing device 114 maintain a concurrentmedia content sharing session.

In various embodiments, users may be able to join (or rejoin) anexisting concurrent media content sharing session. For instance, inFIGS. 1 and 2 , second remote user 120 is participating via a laptopcomputer. However, in FIG. 3 , second remote user 120 may have signedout of the concurrent media content sharing session on the laptopcomputer and may have rejoined using a third remote computing device 128(configured with applicable portion of the present disclosure).

In FIG. 3 , third remote computing device 128 is in the form of a gamingconsole attached to a television 130. In this arrangement, television130 may serve a similar function as display 102 of computing device 100.Third remote computing device 128 may also be operably coupled to amotion sensing device 132. In various embodiments, motion sensing device132 may include a camera (not shown). In various embodiments, motionsensing device 132 may include an eye tracking device (not shown).

In various embodiments, in addition to superimposing animations,computing device 100 may receive audio or other data from remotecomputing devices and present it to a user. For example, a remotecomputing device (e.g., 112, 114, 128) may be equipped with a microphone(not shown) to record a remote user's (e.g., 118, 120) voice. The remotecomputing device may digitize the receive audio and transmit it tocomputing device 100. Computing device 100 may audibly render thereceived audio data, e.g., in conjunction with the animations (e.g.,124, 126).

When multiple users are concurrently sharing a media content, a user maywish to prevent audio from remote users from interrupting the mediacontent's audio component. Accordingly, in various embodiments, a usermay be able to disable (e.g., mute) audio from one or more remote users,even while still permitting animations of those remote users to appearon display 102. In various embodiments, computing device 100 may beconfigured to superimpose, over media content 122 on display 102,textual manifestation of speech of one or more remote users. An exampleof this is seen in FIG. 3 , where a call-out balloon 140 has beensuperimposed over media content 122, to display textual manifestation ofa comment made by second remote user 120.

In various embodiments, the textual manifestation of speech by a remoteuser at computing device 100 may be based on speech-to-text datareceived from the remote computing device. In various other embodiments,the textual manifestation of speech by the remote user may be based onaudio data received by computing device 100 from the remote computingdevice. In the latter case, computing device 100 may be configured toutilize speech-to-text software to convert the received audio to text.

Media may be concurrently consumed by multiple users in various ways. Invarious embodiments, a streaming video or other media content may besynchronized among a plurality of computing devices (e.g., 100, 112,114, 128), so that all users see the same content at the same time.Media content may be distributed in various ways. In some embodiments, afirst user may have the media content and may provide it to other users.For example, a user of computing device 100 may have an account forstreaming video (e.g., subscription on-demand video stream) and mayforward copies of the stream to remote computing devices (e.g., 112,114, 128). In such case, the first user's computing device may insert adelay in its playback of the video stream, so that it does not get aheadof the video stream playback on the remote computing devices.

In other embodiments, the media content may be centrally located (e.g.,at a content server), and the computing devices may individually connectto and stream from the content server. In such case, the computingdevices may exchange synchronization signals to ensure that each user isseeing the same content at the same time. In some embodiments, if a userpauses playback of a media content on computing device 100, thenplayback of the content may be paused on other participating computingdevices, e.g., remote computing devices 112, 114, 128.

In various embodiments, privacy mechanisms may be employed to protect auser's privacy. For instance, a user of computing device 100 mayinstruct computing device 100 to only provide, e.g., to remote computingdevices (e.g., 112, 114), visual data sufficient for the remotecomputing device to render a silhouette or shadow animation of the userIn some embodiments, a user may direct computing device 100 to provideno captured visual data at all. In some embodiments, the user may directcomputing device 100 to only capture visual data during certain timeperiods and/or to refrain from capturing or alter/distort visual dataduring other time periods.

In some embodiments, computing device 100 may employ one or more imageprocessing filters to cause an animation of the user rendered on aremote computing device to be unrecognizable and/or less than fullyrendered. For example, visual data captured by camera 104 of computingdevice 100 may be passed through one or more image processing filters toblur, pixelize, or otherwise alter the visual data. In some embodiments,a user may direct computing device 100 to remove some frames from thecaptured visual data, to cause the resulting animation to have a reducedframe rate. Additionally or alternatively, computing device 100 mayreduce a sampling rate of camera 104 to capture coarser visual data.

In some embodiments, computing device 100 may be configured, e.g.,responsive to an instruction received from a remote computing device(e.g., 112, 114), to protect the privacy of a remote user. For instance,computing device 100 may be configured to alter (e.g., by passingthrough an image processing filter) what would otherwise be fullyrenderable visual data representative of a remote user, so that aresulting animation of the remote user is unrecognizable or otherwiseless than fully rendered.

In various embodiments, a user may assign a trusted status to one ormore remote users. Those remote users may thereafter be considered oneof the user's “contacts.” When one of the user's contacts joins orrejoins a concurrent media content viewing session, an animation of thecontact may appear, reanimate, or otherwise change in appearance. Whenone of the user's contacts leaves a concurrent media content viewingsession, an animation of the contact may disappear, become prone, orotherwise change in appearance.

In some embodiments, computing device 100 may conditionally alter visualdata transmitted to remote computing devices dependent on whether aremote user of a destination remote computing device has been assigned atrusted status. For instance, computing device 100 may send “full” orunaltered visual data to contacts of a user, or to specific contactsthat are assigned an even higher trusted status above other contacts(e.g., “close friends”). Computing device 100 may send less than fullvisual data (e.g., visual data with frames removed or captured with areduced sampling rate) or altered visual data (e.g., blurred, pixilated,etc.) to contacts that are considered further removed (e.g.,acquaintances). In some embodiments, computing device 100 may sendlittle-to-no visual data, or heavily-altered visual data, to remotecomputing devices of users who have not been assigned trusted status.

In various embodiments, computing device 100 may require execution of ahandshake procedure with a remote computing device (e.g., 112, 114)before computing device 100 will superimpose an animation of a remoteuser over media content or provide a remote computing device withcaptured visual data of a user. For example, a user of computing device100 may be required to click on or otherwise select an icon or othergraphic representing a remote user before computing device 100 willsuperimpose an animation of the remote user over media content, orprovide the remote computing device with visual data. In someembodiments, computing device 100 may superimpose animations of a users“closest” contacts (e.g., contacts that a user has assigned a relativelyhigh level of trust), or provide the closest contacts with capturedvisual data of the user, without requiring any handshaking.

In some embodiments, image processing may be applied to visual data forpurposes other than privacy. For instance, in some embodiments,background subtraction may be implemented by computing device 100 to“cut out” a user and subtract the background from visual data. When aremote computing device uses the visual data to superimpose an animationof the user, the user may be rendered in isolation, without anybackground.

In various embodiments, superimposed animations such as first animation124 and second animation 126 may be rendered in 2D and/or 3D. Inembodiments that render the animations in 3D, computing device 100 maybe configured to employ parallax correction on superimpositions ofanimations of remote users. In some 3D embodiments, captured visual data(from which the animations are based) may be transmitted betweencomputing devices as a point cloud, a list of vertices, a list oftriangles, and so forth.

In embodiments where computing device 100 is configured to render theanimations in 3D, computing device 100 may do so in various ways. Forexample, in some embodiments, computing device 100 may render 3Dgeometry on a 2D screen. In other 3D embodiments, computing device 100may render 3D geometry on a stereoscopic display, in 3D, and the usermay wear 3D glasses.

The superimpositions of animations of remote users may be rendered ondisplay 102 in various ways In various embodiments, the superimpositionof an animation of a remote user may be rendered in a transparent windowthat itself is superimposed over all or a portion of other contentdisplayed on display 102.

FIG. 4 depicts an example method 400 that may be implemented on acomputing device, such as computing device 100, first remote computingdevice 112, second remote computing device 114, and/or third remotecomputing device 128. At block 402, captured visual data of a remoteuser of a remote computing device may be received, e.g., by computingdevice 100, from the remote computing device. At block 404, a mediacontent (e.g., a video, shared web browsing session, slide show, etc.)may be presented, e.g., by computing device 100, concurrently withpresentation of the media content on the remote computing device.

At block 406, an interest or disinterest of a user of the computingdevice in the remote user may be determined, e.g., by computing device100. For instance, computing device 100 may receive data from an eyetracking device (e.g., 106) that computing device 100 may use todetermine where a user is looking. If an animation of a remote user isat or within a particular distance from that location, then it may bedetermined, e.g., by computing device 100, that the user is interestedin the remote user.

At block 408, an animation of the remote user may be superimposed, e.g.,by computing device 100, over the media content (e.g., 122) based on thereceived visual data. At block 410, the animation may be visuallyemphasized or deemphasized, e.g., by computing device 100, based on aresult of the determination of the user's interest. For instance, if theuser is interested in the remote user, the remote user's animation maybe fully rendered. If the user is not interested in the remote user,then the remote user's animation may be less-than-fully rendered, e.g.,in shadow, at a lower frame rate, pixelized, and so forth. After block410, if the concurrent media sharing session is still ongoing, thenmethod 400 may proceed back to block 402. If the session is terminated,then method 400 may proceed to the END block.

FIG. 5 depicts an example method 500 that may be implemented on acomputing device such as computing device 100, first remote computingdevice 112, second remote computing device 114, and/or third remotecomputing device 128. At block 502, visual data may be captured, e.g.,by camera 104. At block 504, it may be determined, e.g., by computingdevice 100, whether one or more remote users with which a user ofcomputing 100 wishes to concurrently consume media content is includedin a list of remote users having a trusted status (e.g., contacts). Ifthe answer is no, then at block 506, the captured visual data of theuser may be altered, e.g., by computing device 100, to maintain theuser's privacy. For instance, the visual data may be fed through one ormore image processing filters (e.g., blur filter, pixelization filter)or otherwise altered to cause the resulting animation on a remotecomputing device to be unrecognizable, distorted and/or less than fullyrevealing. At block 508, the altered visual data may be transmitted,e.g., by computing device 100, to the remote computing device (e.g.,112, 114, 128). After block 508, if the concurrent media sharing sessionis still ongoing, then method 500 may proceed back to block 502. If thesession is terminated, then method 500 may proceed to the END block.

If the answer at block 504 is yes, then at block 510, it may bedetermined, e.g., by computing device 100, whether the user desiresprivacy. For instance, computing device 100 may determine whether aprivacy flag has been set, or if the current time is within a timeperiod that the user has indicated a desire for privacy. If the userdesires privacy, then method 500 may proceed to block 506, and thevisual data may be altered prior to transmission to protect the user'sprivacy. If the answer at block 510 is no, then the unaltered visualdata may be transmitted, e.g., by computing device 100, to one or moreremote computing devices (e.g., 112, 114, 128) at block 508.

FIG. 6 illustrates an example computing device 600, in accordance withvarious embodiments. Computing device 600 may include a number ofcomponents, a processor 604 and at least one communication chip 606. Invarious embodiments, the processor 604 may be a processor core. Invarious embodiments, the at least one communication chip 606 may also bephysically and electrically coupled to the processor 604. In furtherimplementations, the communication chip 606 may be part of the processor604. In various embodiments, computing device 600 may include printedcircuit board (“PCB”) 602. For these embodiments, processor 604 andcommunication chip 606 may be disposed thereon. In alternateembodiments, the various components may be coupled without theemployment of PCB 602.

Depending on its applications, computing device 600 may include othercomponents that may or may not be physically and electrically coupled tothe PCB 602. These other components include, but are not limited to,volatile memory (e.g., dynamic random access memory 608, also referredto as “DRAM”), non-volatile memory (e.g., read only memory 610, alsoreferred to as “ROM”), flash memory 612, a graphics processor 614, adigital signal processor (not shown), a crypto processor (not shown), aninput/output (“I/O”) controller 616, an antenna 618, a display (notshown), a touch screen display 620, a touch screen controller 622, abattery 624, an audio codec (not shown), a video codec (not shown), aglobal positioning system (“GPS”) device 628, a compass 630, anaccelerometer (not shown), a gyroscope (not shown), a speaker 632, acamera 634, and a mass storage device (such as hard disk drive, a solidstate drive, compact disk (“CD”), digital versatile disk (“DVD”))(notshown), and so forth. In various embodiments, the processor 604 may beintegrated on the same die with other components to form a System onChip (“SoC”).

In various embodiments, volatile memory (e.g., DRAM 608), non-volatilememory (e.g., ROM 610), flash memory 612, and the mass storage devicemay include programming instructions configured to enable computingdevice 600, in response to execution by processor(s) 604, to practiceall or selected aspects of method 400 and/or 500. For example, one ormore of the memory components such as volatile memory (e.g., DRAM 608),non-volatile memory (e.g., ROM 610), flash memory 612, and the massstorage device may include temporal and/or persistent copies ofinstructions (depicted as a control module 636 in FIG. 6 ) configured toenable computing device 600 to practice disclosed techniques, such asall or selected aspects of method 400 and/or method 500.

The communication chip 606 may enable wired and/or wirelesscommunications for the transfer of data to and from the computing device600. The term “wireless” and its derivatives may be used to describecircuits, devices, systems, methods, techniques, communicationschannels, etc., that may communicate data through the use of modulatedelectromagnetic radiation through a non-solid medium. The term does notimply that the associated devices do not contain any wires, although insome embodiments they might not. The communication chip 606 mayimplement any of a number of wireless standards or protocols, includingbut not limited to IEEE 802.11 (“WiFi”), IEEE 802.16 “WiMAX”), IEEE702.20, Long Term evolution (“LTE”), General Packet Radio Service(“GPRS”), Evolution Data Optimized (“Ev-DO”), Evolved High Speed PacketAccess (“HSPA+”), Evolved High Speed Downlink Packet Access (“HSDPA+”),Evolved High Speed Uplink Packet Access (“HSUPA+”), Global System forMobile Communications (“GSM”), Enhanced Data rates for GSM Evolution(“EDGE”), Code Division Multiple Access (“CDMA”), Time Division MultipleAccess (“TDMA”), Digital Enhanced Cordless Telecommunications (“DECT”),Bluetooth derivatives thereof, as well as any other wireless protocolsthat are designated as 3G, 4G, 5G, and beyond. The computing device 600may include a plurality of communication chips 606. For instance, afirst communication chip 606 may be dedicated to shorter range wirelesscommunications such as Wi-Fi and Bluetooth and a second communicationchip 606 may be dedicated to longer range wireless communications suchas GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO, and others.

In various implementations, the computing device 600 may be a laptop, anetbook, a notebook, an ultrabook, a smart phone, a computing tablet, apersonal digital assistant (“PDA”), an ultra mobile PC, a mobile phone,a desktop computer, a server, a printer, a scanner, a monitor, a set-topbox, an entertainment control unit (e.g., a gaming console), a digitalcamera, a portable music player, or a digital video recorder. In furtherimplementations, the computing device 600 may be any other electronicdevice that processes data.

Embodiments of apparatus, computer-implemented methods, systems,devices, and computer-readable media are described herein forfacilitation of concurrent consumption of a media content by a firstuser of a first computing device and a second user of a second computingdevice. In various embodiments, facilitation may include superimpositionof an animation of the second user over the media content presented onthe first computing device, based on captured visual data of the seconduser received from the second computing device. In various embodiments,the animation may be visually emphasized on determination of the firstusers interest in the second user. In various embodiments, thedetermination of the first user's interest may be based on data receivedfrom an eye-tracker input device associated with the first computingdevice.

In various embodiments, a superimposition of an animation of a thirduser of a third computing device may be visually deemphasized over themedia content presented on the first computing device, on determinationof the first user's interest in the second user or disinterest in thethird user. In various embodiments, the first computing device mayrender, in shadow, the superimposition of the animation of the thirduser to visually deemphasize the superimposition of the animation of thethird user.

In various embodiments, superimposition of an animation of the seconduser includes superimposition of the animation of the second useradjacent a bottom side of a display of the first computing device. Invarious embodiments, parallax correction may be employed on thesuperimposition of the animation of the second user.

In various embodiments, textual manifestation of speech of the seconduser may be superimposed over the media content. In various embodiments,the textual manifestation of speech by the second user may be based onspeech-to-text data received from the second computing device or onaudio data received from the second computing device In variousembodiments, the superimposition of the animation of the second user maybe rendered in a transparent window.

In various embodiments, captured visual data of the first user may bevisually altered based at least in part on whether the second user hasbeen assigned a trusted status by the first user. In variousembodiments, the captured visual data of the first user may betransmitted to the second computing device. In various embodiments, thecaptured visual data may be configured to cause the second computingdevice to superimpose an animation of the first user over the mediacontent displayed on the second computing device.

In various embodiments, the conditional alteration may include imageprocessing of the captured visual data of the first user, the imageprocessing comprising blurring, pixelization, background subtraction, orframe removal. In various embodiments, the captured visual data of thefirst user may be altered responsive to a determination that the seconduser has not been assigned a trusted status by the first user.

In various embodiments, at least some of the captured visual data of thefirst or second user may be automatically cropped. In variousembodiments, the at least some of the captured visual data of the firstor second user may be dynamically cropped, based on a determination thata region of the visual data in which the first or second user isrepresented occupies less than a predetermined portion of the entiretyof the captured visual data of the first or second user.

Although certain embodiments have been illustrated and described hereinfor purposes of description, this application is intended to cover anyadaptations or variations of the embodiments discussed herein.Therefore, it is manifestly intended that embodiments described hereinbe limited only by the claims.

Where the disclosure recites “a” or “a first” element or the equivalentthereof, such disclosure includes one or more such elements, neitherrequiring nor excluding two or more such elements. Further, ordinalindicators (e.g., first, second or third) for identified elements areused to distinguish between the elements, and do not indicate or imply arequired or limited number of such elements, nor do they indicate aparticular position or order of such elements unless otherwisespecifically stated.

What is claimed is:
 1. At least one storage device comprisinginstructions that, when executed, cause at least one processor of anelectronic user device to at least: cause a display to present media anda visual representation of a remote individual, the visualrepresentation including at least a portion of a human profile; identifya direction of a gaze of a user of the electronic user device based onsignals output by one or more sensors of the electronic user device; anddetermine whether the gaze of the user is directed toward the display ofthe media or the display of the visual representation based on thedirection of the gaze.
 2. The at least one storage device of claim 1,wherein the visual representation is superimposed over the media.
 3. Theat least one storage device of claim 1, wherein the visualrepresentation includes animation.
 4. The at least one storage device ofclaim 1, wherein the visual representation includes human facialfeatures.
 5. The at least one storage device of claim 1, wherein theinstructions, when executed, cause the at least one processor to modifythe media when the gaze of the user is directed toward the media.
 6. Theat least one storage device of claim 1, wherein the instructions, whenexecuted, cause the at least one processor to cause the display topresent an input from the remote individual.
 7. The at least one storagedevice of claim 1, wherein the instructions, when executed, cause aspeaker of the electronic user device to output audio associated withthe remote individual.
 8. A system comprising: a display; at least onesensor; at least one memory; and processor circuitry to: cause thedisplay to present media with a depiction of a remote individual;identify a direction of a gaze of a user based on signals output by theat least one sensor; and determine whether the gaze of the user isdirected toward the display of the media or the display of the depictionbased on the direction of the gaze.
 9. The system of claim 8, whereinthe at least one sensor is to detect movement by the user.
 10. Thesystem of claim 8, wherein the display includes a projector.
 11. Thesystem of claim 8, wherein the depiction is superimposed over the media.12. The system of claim 8, wherein the depiction includes animation. 13.The system of claim 8, wherein the depiction includes an outlinerepresenting at least a portion of the remote individual.
 14. The systemof claim 8, wherein the depiction includes human facial features. 15.The system of claim 8, wherein the processor circuitry is to modify themedia when the gaze of the user is directed toward the media.
 16. Thesystem of claim 8, wherein the processor circuitry is to cause an outputdevice to output audio associated with the remote individual.
 17. Anapparatus comprising; a display; means for tracking movement of a user;and means for processing instructions to: cause the display to presentmedia and a visual representation of a remote individual, the visualrepresentation including at least a portion of a human profile;identifying a direction of a gaze of the user based on signals output bythe tracking means; and determining whether the gaze of the user isdirected toward the display of the media or the display of the visualrepresentation based on the direction of the gaze.
 18. The apparatus ofclaim 17, wherein the tracking means is to detect movement of an eye ofthe user.
 19. The apparatus of claim 17, wherein the display includesmeans for projecting the visual representation.
 20. The apparatus ofclaim 17, wherein the visual representation is superimposed over themedia.
 21. The apparatus of claim 17, wherein the visual representationincludes an animated character.
 22. The apparatus of claim 17, whereinthe visual representation includes human facial features.
 23. Theapparatus of claim 17, wherein the processing means is to modify themedia when the gaze of the user is directed toward the media.
 24. Theapparatus of claim 17, wherein the processing means is to cause anoutput device to output audio associated with the remote individual. 25.The apparatus of claim 17, wherein the processing means is to cause thedisplay to present an input from the remote individual.
 26. One or morestorage devices comprising a plurality of instructions stored thereonthat, when executed by one or more processors of a compute device, causethe one or more processors of the compute device to: access datarepresentative of a remote user, wherein the data is from a remotecompute device; access media content to be displayed on a display; causedisplay on the display of the media content with a visual representationof the remote user based on the data representative of the remote user;access sensor data from one or more sensors; and determine, based on thesensor data, whether a user of the compute device is looking at (i) thedisplay of the media content or (ii) the visual representation of theremote user, wherein to determine whether the user is looking at thedisplay of the media content comprises to determine which portion of themedia content the user is looking at.
 27. The one or more storagedevices of claim 26, wherein the sensor data includes data from a motioncapture device of the compute device.
 28. The one or more storagedevices of claim 26, wherein the visual representation of the remoteuser is a cartoonish rendering of the remote user.
 29. The one or morestorage devices of claim 26, wherein the plurality of instructionsfurther cause the one or more processors to augment, based on adetermination of where the user is looking, the media content.